
// Generated from Fa.g4 by ANTLR 4.9.3

#pragma once


#include "antlr4-runtime.h"
#include "FaVisitor.h"


/**
 * This class provides an empty implementation of FaVisitor, which can be
 * extended to create a visitor which only needs to handle a subset of the available methods.
 */
class  FaBaseVisitor : public FaVisitor {
public:

  virtual antlrcpp::Any visitShiftLAssign(FaParser::ShiftLAssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitShiftRAssign(FaParser::ShiftRAssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitAllAssign(FaParser::AllAssignContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitShiftLOp(FaParser::ShiftLOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitShiftROp(FaParser::ShiftROpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEndl(FaParser::EndlContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEndl2(FaParser::Endl2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQFangL(FaParser::QFangLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQFangR(FaParser::QFangRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQJianL(FaParser::QJianLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQJianR(FaParser::QJianRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQHuaL(FaParser::QHuaLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQHuaR(FaParser::QHuaRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQYuanL(FaParser::QYuanLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQYuanR(FaParser::QYuanRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotFangL(FaParser::QuotFangLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotFangR(FaParser::QuotFangRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotJianL(FaParser::QuotJianLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotJianR(FaParser::QuotJianRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotHuaL(FaParser::QuotHuaLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotHuaR(FaParser::QuotHuaRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotYuanL(FaParser::QuotYuanLContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotYuanR(FaParser::QuotYuanRContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitLtOp(FaParser::LtOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitLtEqualOp(FaParser::LtEqualOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitGtOp(FaParser::GtOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitGtEqualOp(FaParser::GtEqualOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEqualOp(FaParser::EqualOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNotEqualOp(FaParser::NotEqualOpContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitExprFuncDef(FaParser::ExprFuncDefContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSelfOp2(FaParser::SelfOp2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitCompareOp2(FaParser::CompareOp2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitChangeOp2(FaParser::ChangeOp2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitAllOp2(FaParser::AllOp2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIntNum(FaParser::IntNumContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitFloatNum(FaParser::FloatNumContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitLiteral(FaParser::LiteralContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitId(FaParser::IdContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIds(FaParser::IdsContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeAfter(FaParser::TypeAfterContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeSingle(FaParser::TypeSingleContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeMulti(FaParser::TypeMultiContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitType(FaParser::TypeContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrap(FaParser::TypeWrapContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeVar(FaParser::TypeVarContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeVarList(FaParser::TypeVarListContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVar1(FaParser::TypeWrapVar1Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVarList1(FaParser::TypeWrapVarList1Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVar2(FaParser::TypeWrapVar2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVarList2(FaParser::TypeWrapVarList2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVar3(FaParser::TypeWrapVar3Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitTypeWrapVarList3(FaParser::TypeWrapVarList3Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotStmtPart(FaParser::QuotStmtPartContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotStmtExpr(FaParser::QuotStmtExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIfStmt(FaParser::IfStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIfExpr(FaParser::IfExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitWhileStmt(FaParser::WhileStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitWhileStmt2(FaParser::WhileStmt2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitForStmt(FaParser::ForStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitForStmt2(FaParser::ForStmt2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchStmtPart2Last(FaParser::SwitchStmtPart2LastContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotStmtExprWrap(FaParser::QuotStmtExprWrapContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchExprPartLast(FaParser::SwitchExprPartLastContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchStmtPart(FaParser::SwitchStmtPartContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchStmt(FaParser::SwitchStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchStmtPart2(FaParser::SwitchStmtPart2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchStmt2(FaParser::SwitchStmt2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchExprPart(FaParser::SwitchExprPartContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchExpr(FaParser::SwitchExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchExprPart2(FaParser::SwitchExprPart2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitSwitchExpr2(FaParser::SwitchExpr2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitQuotExpr(FaParser::QuotExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitExprOpt(FaParser::ExprOptContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNewExprItem(FaParser::NewExprItemContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNewExpr1(FaParser::NewExpr1Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNewExpr2(FaParser::NewExpr2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitArrayExpr1(FaParser::ArrayExpr1Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitArrayExpr2(FaParser::ArrayExpr2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitLambdaExpr(FaParser::LambdaExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitStrongExprBase(FaParser::StrongExprBaseContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitStrongExprPrefix(FaParser::StrongExprPrefixContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitStrongExprSuffix(FaParser::StrongExprSuffixContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitStrongExpr(FaParser::StrongExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitMiddleExpr(FaParser::MiddleExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitExpr(FaParser::ExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIdAssignExpr(FaParser::IdAssignExprContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitDefVarStmt(FaParser::DefVarStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitIdAssignExpr2(FaParser::IdAssignExpr2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitDefVarStmt2(FaParser::DefVarStmt2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNormalStmt(FaParser::NormalStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitStmt(FaParser::StmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitPublicLevel(FaParser::PublicLevelContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassItemFuncExtBody(FaParser::ClassItemFuncExtBodyContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassItemVar(FaParser::ClassItemVarContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassItemFunc(FaParser::ClassItemFuncContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassBlock(FaParser::ClassBlockContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassItemFuncExt2(FaParser::ClassItemFuncExt2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassItem2(FaParser::ClassItem2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitClassBlock2(FaParser::ClassBlock2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEnumItem(FaParser::EnumItemContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEnumBlock(FaParser::EnumBlockContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitEnumBlock2(FaParser::EnumBlock2Context *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitUseStmt(FaParser::UseStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitCallConvention(FaParser::CallConventionContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitImportStmt(FaParser::ImportStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitLibStmt(FaParser::LibStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitNamespaceStmt(FaParser::NamespaceStmtContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitProgram(FaParser::ProgramContext *ctx) override {
    return visitChildren(ctx);
  }

  virtual antlrcpp::Any visitProgramEntry(FaParser::ProgramEntryContext *ctx) override {
    return visitChildren(ctx);
  }


};

